1. Field of the Invention
The present invention relates to a rendering process apparatus for a computer graphics system, and particularly relates to a rendering process apparatus capable of improving the processing efficiency of primitive rendering.
2. Description of the Background Art
In recent years, a computer graphics system which processes three-dimensional images at high speed has been utilized in a car navigation system, a game machine or the like in order to output precise images with presence.
The computer graphics system is divided into a geometry process section and a rendering process section. The geometry process section performs a coordinate transformation and a lighting process to vertexes which constitute a primitive such as a line or a triangle, and generates vertex data (xyz coordinate data, color data and texture coordinate data). The rendering process section performs a process to the primitive which consists of a plurality of vertex data applied from the geometry process section (J. D. Foley and the like, “Computer Graphics: Principles and Practice”, pp. 866–871, pp. 876, 1992, Addison-Wesley Publishing Company).
The rendering process section obtains the rendering position of the primitive in a display memory device, interpolates data on the regions between the vertexes applied from the geometry process section, and allocates pixel data to the display memory device by a method corresponding to the type of the primitive (J. D. Foley and the like, “Computer Graphics: Principles and Practice”, pp. 72–75, pp. 668–672 and pp. 882–886, 1992, Addison-Wesley Publishing Company).
If a rendering process is performed to a primitive having a complex shape such as a polygon or a circle, rendering quality cannot be maintained uniformly because of the coordinate transformation and, furthermore, the rendering process becomes complex. For such a primitive having a complex shape, therefore, a primitive data group obtained by dividing the primitive into triangles is constructed, thereby simplifying the process performed by the rendering process section and making rendering quality uniformly (OpenGL Architecture Review Board, “OpenGL Programming Guide (Japanese Edition)”, pp. 30–31, 1993, Addison-Wesley Publishers Japan).
In a conventional computer graphics system, a geometry process section and a rendering process section are connected in series and a pipeline process is thereby performed. Due to this, even if a database can be constructed by primitives each of which has been already subjected to a coordinate transformation and a lighting process or a primitive which does not require a geometry process itself is to be rendered, coordinate data is always applied to the rendering process section through the geometry process section and the geometry process section performs an unnecessary determination process or the like. There has been a problem that this disadvantage makes it impossible to improve the processing efficiency of the overall computer graphics system.
Furthermore, since the rendering process section starts processes after all the vertex data constituting a primitive are obtained, there has also been a problem that overhead required to transfer the vertex data disadvantageously deteriorates processing efficiency.
In addition, the rendering process section processes a line strip, a triangle strip, a triangle fan and the like which are used as the types of the primitives constituting a rendering object (OpenGL Architecture Review Board, “OpenGL Programming Guide (Japanese Edition)”, pp. 36–37, 1993, Addison-Wesley Publishers Japan) in independent, basic point, line and triangle units, respectively. This makes it necessary for a host CPU (Central Processing Unit) or the geometry process section to issue a rendering instruction to the rendering process section while managing the order of vertexes so that the primitive has a primitive format which the rendering process section can process. As a result, there has been a problem that the processing performance of the overall computer graphics system is disadvantageously deteriorated.